﻿using System;
using System.Xml;
using InfoJetSoft.Service.Entity;
using InfoJetSoft.Service.Util;

namespace InfoJetSoft.Service.Worker
{
	//在Web Form中添加IFrame。
	//这个IFrame用于进行postback，进行动态更新。
	class FormBuildHTMLIFrameWorker
	{
		//在Web Form中添加IFrame。
		public static void  buildHTMLIFrame(Form form)
		{
			XmlDocument doc = form.HtmlDoc;
			XmlElement root = doc.DocumentElement;
			
			XmlElement iframeElement = doc.CreateElement("iframe");
			iframeElement.SetAttribute("id", JetConstant.FrameId);
			iframeElement.SetAttribute("name", JetConstant.FrameId);
			iframeElement.SetAttribute("marginWidth", "0");
			iframeElement.SetAttribute("marginHeight", "0");
			iframeElement.SetAttribute("SCROLLING", "none");
			
			//可以配置是否显示出IFrame，显示出来时可以看到一些异常信息。
			if( ConfigUtil.ShowIFrame() )
			{
				iframeElement.SetAttribute("frameBorder", "1");
				iframeElement.SetAttribute("width", "800");
				iframeElement.SetAttribute("height", "400");
			}
			else
			{
				iframeElement.SetAttribute("frameBorder", "0");
				iframeElement.SetAttribute("width", "0");
				iframeElement.SetAttribute("height", "0");
			}
			
			iframeElement.SetAttribute("style", "display:block;");

			//CID 0090 //2008.08.13 //Begin
			string defaultSrc = ConfigUtil.DefaultIFrameSrc();
			if( defaultSrc != null )
			{
				iframeElement.SetAttribute( "src", defaultSrc );
			}
			//CID 0090 //2008.08.13 //End

			//如果正在使用AJAX模式，不显示IFrame，这样在HTTPS应用中可以避免“网页包含不安全内容”的提示对话框。Email:About Security Information。
			//CID 0291 //2009.05.31 //!ConfigUtil.UseAJAX()
			if( !ConfigUtil.UseAJAX() )
			{
				root.AppendChild(iframeElement);
			}
		}
	}
}